There currently exists a significant need to prevent the illegal copy and/or use of software applications. Up to the present, three protection techniques are known to prevent the illegal copying and/or use of software applications.
The first technique, requiring no specific hardware, consists in providing with the software a password or secret key to prevent individuals who do not have this pass word using the software. The password is for example a series number pre-recorded in the software. The software is then only authorized to function if the password entered by the user corresponds to the pre-recorded password. The software and the password are preferably transmitted separately to the user. The disadvantage of this technique is that the password may be, intentionally or not, divulged by the client. The level of protection of such a technique is thus not very high.
The second technique, commonly called “hardware soldering” consists in extracting one or several physical parameters of the computer intended to receive the software and in customizing the software with the physical parameter(s) so that it is authorized to function only on the computer having the extracted physical parameter(s). This physical parameter can be for example a MAC address. The application is thus authorized to function only on the computer having this MAC address. The disadvantage of this technique is that the client can use the software only on a single computer and can not even change computer.
Finally, a third technique consists in associating an electronic security module with the software. This electronic security module is provided with the software at time of purchase. The electronic security module designates an integrated circuit comprising a non-volatile memory (ROM) with items of secret information, for example the usage rights of a software application. Such an electronic security module is found for example in the form of a hardware lock or “dongle” At start-up and/or different execution stages of the software, the software verifies the presence of usage rights in the electronic security module and only continues its execution if the usage rights associated with said software are present in the electronic security module. With this technique, a software application is authorized to function on a computer only if the electronic security module comprising the usage rights to this software is connected to this computer. Such an electronic security module being difficult to copy or duplicate, illegal use of the software becomes unlikely. The disadvantage of this technique is that, the electronic security module being attached to a specific software application, the protection of n software applications requires the provision of n electronic security modules.